package com.xinqi.modules.stats.content.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinqi.common.mybatis.data.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * 课程内容表实体层
 *
 * @author: system
 * @date: 2023/03/09
 */
@Setter
@Getter
@TableName("co_course_content")
public class CourseContentEntity extends BaseEntity {
    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Long userId;
    /**
     * 学校ID
     */
    @TableField(value = "school_id")
    private Long schoolId;
    /**
     * 课程id
     */
    @TableField(value = "course_id")
    private Long courseId;
    /**
     * 班级id
     */
    @TableField(value = "class_id")
    private Long classId;
    /**
     * 课程栏目ID
     */
    @TableField(value = "content_id")
    private Long contentId;
    /**
     * 课程类型标识 1互动课件 2资料 3作业 4测评 5讨论 6互动视频 7公告 8课堂互动
     */
    @TableField(value = "type")
    private Integer type;
    /**
     * 第几轮
     */
    @TableField(value = "repeated_day")
    private Integer repeatedDay;

    /**
     * 作业类型
     */
    @TableField(value = "task_type")
    private Integer taskType;
    /**
     * 标题
     */
    @TableField(value = "title")
    private String title;
    /**
     * 详情内容
     */
    @TableField(value = "content")
    private String content;
    /**
     * 章节id
     */
    @TableField(value = "chapter_id")
    private Long chapterId;
    /**
     * 发布时间
     */
    @TableField(value = "release_time")
    private LocalDateTime releaseTime;
    /**
     * 发布状态 1未发布 2定时发布 3已发布 4已结束 5已开始
     */
    @TableField(value = "status")
    private Integer status;
    /**
     * 测评是否已结束0未结束，1已结束
     */
    @TableField(value = "is_exam_end")
    private Integer isExamEnd;

    /**
     * 已完成数量
     */
    @TableField(value = "complet_number")
    private Long completNumber;

    /**
     * 学习中数量
     */
    @TableField(value = "learning_number")
    private Long learningNumber;

    /**
     * 待学习数量
     */
    @TableField(value = "learned_number")
    private Long learnedNumber;

    /**
     * 已批人数
     */
    @TableField(value = "approved_number")
    private Long approvedNumber;

    /**
     * 已交人数
     */
    @TableField(value = "paid_number")
    private Long paidNumber;

    /**
     * 参与人数
     */
    @TableField(value = "partake_number")
    private Long partakeNumber;

    /**
     * 评论数
     */
    @TableField(value = "comment_number")
    private Long commentNumber;

    /**
     * 学生数量
     */
    @TableField(value = "student_number")
    private Long studentNumber;

    /**
     * 排序
     */
    @TableField(value = "sort")
    private Integer sort;
    /**
     * 排序
     */
    @TableField(value = "is_read")
    private Integer isRead;
    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private LocalDateTime endTime;
    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private LocalDateTime startTime;

    /**
     * 是否多轮次作业
     */
    @TableField(exist = false)
    private Integer isRepeat;

    /**
     * 共几轮
     */
    @TableField(exist = false)
    private Integer repeatDay;

}
